<template>
	<view>
		 <button @click="handleUploadClick" style="font-size: 12px;background: transparent;border:0px">{{$t(text)}}</button>
		 <xe-upload ref="XeUpload" :options="uploadOptions" @callback="handleUploadCallback"></xe-upload>
	</view>
</template>
<script>
	import xeUpload from "../../uni_modules/xe-upload/components/xe-upload/xe-upload.vue"
	import {HTTP_REQUEST_URL, FILE_MAX_SIZE, FILE_MAX_COUNT} from '@/config/app';
	
	export default {
		components:{
			xeUpload
		},
		props: {
			text: {
				type: [Array, Object, Number, String],
				default: '上传'
			},
		},
	     data() {
	            return {
	                uploadOptions: {
	                    // url: 'http://192.168.31.185:3000/api/upload', // 不传入上传地址则返回本地链接
	                },
					action: HTTP_REQUEST_URL + '/common/upload',
					
	            };
	        },
	        methods: {
	            handleUploadClick() {
	                // 使用默认配置则不需要传入第二个参数
	                // type: ['image', 'video', 'file'];
	                this.$refs.XeUpload.upload('file', {});
	                // this.$refs.XeUpload.upload('image', {
	                //  count: 6,
	                //  sizeType: ['original', 'compressed'],
	                //  sourceType: ['album'],
	                // });
	            },
	            handleUploadCallback(e) {
	                // e.type: ['choose', 'success', 'warning']
	                // choose 是options没有传入url，返回临时链接时触发
	                // success 是上传成功返回对应的数据时触发
	                // warning 上传或者选择文件失败触发
	                // ......
					
					uni.showLoading({
						title: "Loading...",
						mask: true
					})
					const that = this
					uni.uploadFile({
						  url: that.action,
						  filePath: e.data[0].tempFilePath,
						  name: 'file',
						  success: (uploadFileRes) => {
								uni.hideLoading();
								
								const resData = JSON.parse(uploadFileRes.data)
								if (resData.code === 1) {
								  let resUrl = {url: resData.data.url}
								  that.$emit('change', 'upload', resUrl)
								}else{
								  let resUrl = {url: ''}
								  that.$emit('change', 'upload', resUrl)
								} 
						  }
					});
					/*
					'callback.type === success' : [
					    {
					        "size": 176579, // 选择的文件的大小
					        "name": "Kafka.pdf", // 选择的文件的名称（小程序端可能会没有）
					        "type": "application/pdf",
					        "tempFilePath": "_doc/uniapp_temp/Kafka-16988473328760.pdf", // 临时路径
					        "fileType": "file", // 文件类型[image, video, file]
					        "response": {
					            "result": {
					                "fileName": "Kafka.pdf",
					                "filePath": `http://localhost:3000/upload/e51d814b649122fc64892d0bc6383d07.pdf`,
					            },
					            "success": true,
					        }, // 上传返回的信息
					    }
					]
					
					'callback.type === choose' : [
					    {
					        "size": 176579, // 选择的文件的大小
					        "name": "Kafka.pdf", // 选择的文件的名称（小程序端可能会没有）
					        "type": "application/pdf",
					        "tempFilePath": "_doc/uniapp_temp/Kafka-16988473328760.pdf", // 文件临时路径
					        "fileType": "file", // 文件类型[image, video, file]
					    }
					]
					
					*/
					
					
	            },
	        },
	}
</script>